package com.yunji.base.service;

import com.yunji.base.convert.SiteLocationConvert;
import com.yunji.base.dao.ISiteLocationDao;
import com.yunji.base.params.SiteLocationParam;
import com.yunji.common.model.domain.SiteLocationDO;
import com.yunji.base.vo.SiteLocationVO;
import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.stereotype.Service;

import java.util.List;

@Service
public class SiteLocationService {

    @Autowired
    private ISiteLocationDao siteLocationDao;

    public Long create(SiteLocationDO siteLocationDO) {
        siteLocationDao.save(siteLocationDO);
        return siteLocationDO.getLocationId();
    }

    public SiteLocationVO getInfo(Long id) {
        return SiteLocationConvert.DOToVO(siteLocationDao.getById(id));
    }

    public void update(SiteLocationDO siteLocationDO) {
        siteLocationDao.updateById(siteLocationDO);
    }

    public void delete(List<Long> ids) {
        siteLocationDao.removeByIds(ids);
    }

    public boolean existsLocationType(List<Long> list) {
        return siteLocationDao.existsLocationType(list);
    }

    public List<SiteLocationVO> getLocationPageList(SiteLocationParam param) {
        return SiteLocationConvert.DOToVOList(siteLocationDao.getLocationPageList(param));
    }

    public SiteLocationDO select(Long locationId) {
        return siteLocationDao.getById(locationId);
    }
}
